//#include<stdio.h>
//int main()
//{
//	const int n = 10;
//	int* p = &n;
//	*p = 200;
//	printf("%d\n", n);
//	return 0;
//}
//#include<stdio.h>
//int main()
//{
//	int arr[10] = { 1,2,3,4,5,6,7,8,9,10 };
//	printf("&arr[0]   = %p\n", &arr[0]);
//	printf("&arr[0]+1 = %p\n", &arr[0] + 1);
//
//	printf("arr       = %p\n", arr);
//	printf("arr+1     = %p\n", arr + 1);
//
//	printf("&arr      = %p\n", &arr);
//	printf("&arr+1    = %p\n", &arr + 1);
//	return 0;
//}
//#include<stdio.h>
//void test(int arr[])
//{
//	int sz2 = sizeof(arr) / sizeof(arr[0]);
//	printf("sz2 = %d\n", sz2);
//}
//int main()
//{
//	int arr[10] = { 1,2,3,4,5,6,7,8,9,10 };
//	int sz1 = sizeof(arr) / sizeof(arr[0]);
//	printf("sz1 = %d\n", sz1);
//	test(arr);
//	return 0;
//}
//#include<stdio.h>
//int main()
//{
//	char* p = "abcdef";
//	printf("%c\n", *p);
//	printf("%s\n", p); //使用%s打印字符串的时候，只需要提供首字符的地址就行
//	return 0;
//}
//#include<stdio.h>
//int main()
//{
//	int arr[10] = { 1,2,3,4,5 };
//	//int* p[10]; //这是指针数组，因为p先和[10]结合了（int* [10]）
//	int (*p)[10] = &arr; //p就是数组指针，p中存放的是数组的地址（int[10] *）
//
//	//arr -- int*         arr+1跳过4个字节
//	//&arr[0] -- int*     &arr[0]+1跳过4个字节
//	//&arr -- int(*)[10]  &arr+1跳过40个字节
//	return 0;
//}
#include<stdio.h>
int main()
{
	char* ch[5]; //指针数组（char* [5]） 
	char* (*p)[5] = &ch; //p是指针数组指针（char *[5] *）
	return 0;
}